void EroGray (ImSize, InIm, OutIm, StrEl)
int     ImSize;
int     **InIm;
int     **OutIm;
StrTypG *StrEl;
{
   int   r,c,y,x,i,gv,min;

   for (r=0; r<ImSize; r++)
      for (c=0; c<ImSize; c++)  OutIm [r][c] = 0;

   for (r=0; r<ImSize; r++) {
      for (c=0; c<ImSize; c++) {
         min = 32767;
         for (i=1; i<=StrEl[0].r; i++) {
            y = r + StrEl[i].r;
            x = c + StrEl[i].c;
            if (y>=0 && x>=0 && y<ImSize && x<ImSize) {
               gv = InIm[y][x] - StrEl[i].g;
               if  (gv < min)  min = gv;
         }  }
         OutIm [r][c] = min;
}  }  }
